commit c58a47f39bc5d848ad4f0d6e651b4e0c7f4691c2 from: Anton Kasimov date: Thu Sep 24 21:51:35 2026 UTC Поддержка модульного подключения css и js commit - db8b5d30426e62a68ac7358377dbeebf54071f8b commit + c58a47f39bc5d848ad4f0d6e651b4e0c7f4691c2 blob - 09d7c9c2381e6b5755aecf63c0bb2c71e62b71aa blob + 3f3f84b7208da6f1f442c7114028044b32097c2b --- README.md +++ README.md @@ -369,22 +369,52 @@ SVG-файлы минифицируются. Связывает страницу с `manifest.json`, находящимся в корне `assets/`. +### assets/require-css + +Регистрирует CSS-ресурс компонента для подключения в ``. + +Ресурс должен находиться в `assets/`. +Путь передаётся относительно этой директории: + +```go-html-template +{{- partial "assets/require-css.html" "css/components/pagination.css" }} +``` + +Повторная регистрация одного и того же ресурса не приводит к его повторному подключению. + +### assets/require-js + +Регистрирует JavaScript-ресурс компонента для последующей сборки через `js.Batch` и подключения в ``. + +Ресурс должен находиться в `assets/`. +Путь передаётся относительно этой директории: + +```go-html-template +{{- partial "assets/require-js.html" "js/pagefind.js" }} +``` + +Компоненту не требуется самостоятельно вызывать `js.Build`, выполнять минификацию или выводить ` + {{- with . | js.Build (dict + "format" "esm" + "minify" (not hugo.IsDevelopment) + ) }} + {{- if hugo.IsDevelopment }} + + {{- else }} + {{- with . | fingerprint }} + + {{- end }} {{- end }} - {{- else }} - {{- $opts := dict "minify" true }} - {{- with . | js.Build $opts | fingerprint }} - + {{- end }} +{{- end }} + +{{- $group := hash.XxHash .RelPermalink }} + +{{- with js.Batch "js/components" }} + {{- with .Build }} + {{- with index .Groups $group }} + {{- range . }} + {{- if eq .MediaType.SubType "css" }} + {{- if hugo.IsDevelopment }} + + {{- else }} + {{- with . | fingerprint }} + + {{- end }} + {{- end }} + {{- else }} + {{- if hugo.IsDevelopment }} + + {{- else }} + {{- with . | fingerprint }} + + {{- end }} + {{- end }} + {{- end }} + {{- end }} {{- end }} {{- end }} {{- end }}